home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 9 / FM Towns Free Software Collection 9.iso / taropyon / silib / inc / sisbar.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-16  |  2.7 KB  |  89 lines

  1. /*************************************************************************
  2. *    "sisbar.h"
  3. *-------------------------------------------------------------------------
  4. *    Scroll bar library
  5. *                                            Copyright (c) 1993, TaroPYON
  6. *************************************************************************/
  7.  
  8. #ifndef    _SISBAR_H
  9. #define    _SISBAR_H
  10.  
  11. #include    <time.h>
  12.  
  13. #ifndef    _SIEV_H
  14. #    include    <siev.h>
  15. #endif
  16. #ifndef    _SIWIN_H
  17. #    include    <siwin.h>
  18. #endif
  19.  
  20. typedef struct _sb_t
  21. {
  22.     unsigned int    att;            /* 属性                        */
  23.     unsigned int    stt;            /* ステータス                */
  24.  
  25.     FRAME_T            fr;                /* 全体の表示位置            */
  26.     FRAME_T            frBar;            /* バー部分表示位置            */
  27.     FRAME_T            frCur;            /* カーソル部分表示位置        */
  28.     FRAME_T            frTop;            /* 上(左)ボタン表示位置    */
  29.     FRAME_T            frBtm;            /* 下(右)ボタン表示位置    */
  30.     EV_T            *ev;            /* イベント                    */
  31.     WIN_T            *win;            /* ウィンドゥ                */
  32.  
  33.     clock_t            clkRep;            /* リピートタイム            */
  34.  
  35.     long            total;            /* トータル数                */
  36.     long            min, max;        /* 最大最小値                */
  37.     long            top;            /* 表示先頭位置                */
  38.     long            widMin,widMax;    /* 幅,最小/最大            */
  39.     long            wid;            /* 表示幅                    */
  40.     long            dt;                /* 移動数                    */
  41.     int                bar;            /* 最低バーサイズ(ドット)    */
  42.  
  43.     int                (*func)(int,struct _sb_t *);
  44.     void            *ptr;
  45.  
  46.     int                evNo[8];        /* イベントNo        */
  47.     struct
  48.     {
  49.         COLOR_T        cur;            /* カーソルバー部分    */
  50.         COLOR_T        bar;            /* バー部分            */
  51.         COLOR_T        hil, sha;        /* ハイライト,シャドー        */
  52.         COLOR_T        mrk;            /* マーク            */
  53.         COLOR_T        btn;            /* ボタン            */
  54.     } col;
  55. } SB_T;
  56.  
  57.  
  58. #define    SB_ATT_VERTICAL        (0x0000_0001)    /* 垂直                    */
  59. #define    SB_ATT_HORIZON        (0x0000_0002)    /* 水平                    */
  60. #define    SB_ATT_SCALE        (0x0000_0004)    /* スコープ可変タイプ    */
  61. #define    SB_ATT_MAXADJUST    (0x0000_0100)    /* 最大値修正            */
  62. #define    SB_ATT_DRAGSLD        (0x0001_0000)    /* ドラッグで即移動        */
  63. #define    SB_ATT_BTNREP        (0x0010_0000)    /* ボタンリピート        */
  64.  
  65. #define    SB_STT_EVSETIGN        (0x0000_0001)    /* イベント設定禁止        */
  66.  
  67. #define    SB_EVNO_TOPBTN        (1)
  68. #define    SB_EVNO_BTMBTN        (2)
  69. #define    SB_EVNO_DRAG        (3)
  70. #define    SB_EVNO_JUMP        (4)
  71. #define    SB_EVNO_SCALE        (5)
  72.  
  73. /* "sb_010.c"        ----------------------------------------------------*/
  74. extern SB_T       *SB_open( unsigned int att, WIN_T *win, int (*func)(int,SB_T *), void *ptr );
  75. extern EV_T       *SB_ev_workAlloc( SB_T *sb, EV_T *bsEv );
  76. extern void       SB_close( SB_T *sb );
  77.  
  78. /* "sb_v20.c"        ----------------------------------------------------*/
  79. extern int        SB_vUpdate( SB_T *sb );
  80. extern int        SB_vSetCur( SB_T *sb );
  81. extern int        SB_vDsp( SB_T *sb, FRAME_T *fr );
  82.  
  83. /* "sb_h20.c"        ----------------------------------------------------*/
  84. extern int        SB_hUpdate( SB_T *sb );
  85. extern int        SB_hSetCur( SB_T *sb );
  86. extern int        SB_hDsp( SB_T *sb, FRAME_T *fr );
  87.  
  88. #endif
  89.